package com.example.blog2023.mapper;

import com.example.blog2023.bean.dto.BlogsInputDto;
import com.example.blog2023.bean.pojo.Blog;
import com.example.blog2023.bean.vo.GroupBlog;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.ArrayList;

/**
 * @author cfy
 * @date 2023/12/11
 **/
@Mapper
public interface BlogMapper {
    /**
     * 查询所有blog的 标题 类型 时间 推荐
     * @return
     */
    ArrayList<Blog> getBlogs();

    /**
     * 通过 标题 分类 是否推荐 组合查询
     * @return
     */
    ArrayList<Blog> getBlogsByCondition(@Param("title") String title,
                                        @Param("gender") String gender,
                                        @Param("recommend") String recommend);

    /**
     *
     * @param title
     * @return
     */
    Blog getBlogByTitle(String title);

    /**
     *
     * @return
     */
    ArrayList<GroupBlog> groupBlog();
    /**
     * 通过id删除blog
     * @param id
     * @return
     */
    int deleteById(@Param("id") Integer id);

    /**
     * 新增博客
     * @param blog
     * @return
     */
    int insertBlog(Blog blog);

    /**
     * 通过分类查询
     * @param type
     * @return
     */
    ArrayList<Blog> selectByType(@Param("type") String type);

    /**
     * 通过id查询
     * @param id
     * @return
     */
    Blog selectById(@Param("id") Integer id);
}
